home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / Dir / dir.ppshow < prev    next >
Text File  |  1999-04-21  |  5KB  |  235 lines

  1. G4C 
  2.  
  3. ; this is a GUI for the excellent and free Graphics and ANIM player PPShow 4
  4. ; (it also works with older versions of ppshow)
  5.  
  6.  
  7. WINBIG   -1 30 340 132 "PPShow 4.0 GUI"
  8. wintype  11110001          ; a resizable window
  9. ;winbackground icon guis:info/bgnds/tile 0
  10. varpath dir.gc
  11.  
  12. ;============================> Some Graphics (to fill in space)
  13.  
  14. box 0 0 0 0 IN ICONDROP
  15.  
  16. LINE 6 65 332 65 1
  17. LINE 6 67 332 67 2
  18.  
  19. LINE 6 100 332 100 1
  20. LINE 6 102 332 102 2
  21.  
  22. ;============================> AppWindow
  23.  
  24. xONLOAD ; Set the default values of our vars
  25. setscreen dir.ppshow $*SCREEN
  26. mode    = PAL ; screen mode
  27. res     = "" ; resolution 
  28. play    = "" ; loop/repeat
  29. lace    = "" ; interlace or not (use default)
  30. flick   = "" ; flicker fix (use default)
  31. datt    = "" ; use datatypes
  32. mouse   = NOMOUSE ; no mouse
  33. oscn    = "" ; overscan (use default)
  34. cycle   = "" ; cycle (use default)
  35. noan    = "" ; display animations
  36. jifs    = 0  ; Jiffies -> 0 = use default
  37. times   = 100 ; play anims 100 times
  38. time    = 60  ; show pics for 60 secs each
  39. guiopen dir.ppshow
  40.  
  41. xonclose
  42. guiquit dir.ppshow
  43.  
  44. xonfail
  45. guiquit dir.ppshow
  46.  
  47. ;====================> Declare a cycler, to let the user
  48. ;                      choose the type of monitor.
  49.  
  50. xCYCLER 205 5 121 12 "" mode
  51. CSTR  PAL     PAL
  52. CSTR  NTSC    NTSC
  53. CSTR  A2024   A2024
  54. CSTR  15Hz    15Hz
  55. CSTR  VGA     VGA
  56. CSTR  SUPER72 SUPER72
  57.  
  58. ;Note that we set PAL first. That's because I use PAL, and want it
  59. ;as default - change it around if you want otherwise.
  60.  
  61. ;===================> An other cycler for the Resolution Modes
  62.  
  63. xCYCLER 60 5 125 12 Res. res
  64. CSTR  Default      ""
  65. CSTR  HAM          HAM
  66. CSTR  LOW          LO
  67. CSTR  HIGH         HI
  68. CSTR  "Super HIGH" SHI
  69. CSTR  Productive   PROD
  70.  
  71. ;===================> Cycler for Loop/Repeat/Single play of anims
  72.  
  73. xCYCLER 205 20 121 12 "" play
  74. CSTR  SINGLE  ""
  75. CSTR  LOOP    LOOP
  76. CSTR  REPEAT  R
  77.  
  78. ;====================> Declare some checkbox button for lace, mouse, oscn etc
  79.  
  80. xCHECKBOX 60  20 26 11 Lace   lace  L      NL      OFF
  81. xCHECKBOX 140 20 26 11 NoFlk  flik  NF     ""      OFF
  82. xCHECKBOX 60  35 26 11 DTyp   datt  DT     ""      OFF
  83. xCHECKBOX 140 35 26 11 Mouse  mouse ""     NOMOUSE OFF
  84. xCHECKBOX 220 35 26 11 Oscn   oscn  MO     NO      OFF
  85. xCHECKBOX 300 35 26 11 Cycle  cycle CYCLE  ""      OFF
  86.  
  87.  
  88. ;-----> Slider for Time (seconds to show each picture)
  89.  
  90. xHSLIDER 60 50 200 11 Time time  1 999  60  "%3ld Sec."
  91. GadID 10
  92.  
  93.  
  94. ;=================== ANIMATION OPTIONS ==============================
  95.  
  96. ;----> Checkbox for Animation ON/OFF (also jifs/times slider ON/OFF)
  97.  
  98. xCHECKBOX 60 73 26 11 Anim noan  "" NOANIM  ON
  99. if $noan = ""
  100.    SetGad dir.ppshow 15 ON
  101.    setgad dir.ppshow 11 ON
  102. else
  103.    SetGad dir.ppshow 15 OFF
  104.    setgad dir.ppshow 11 OFF
  105. endif
  106.  
  107.  
  108. ;----> Slider for speed
  109.  
  110. xHSLIDER 87 73 170 11 "" jifs 0 10 0 "%2ld Jfs"
  111. GadID 15
  112.  
  113.  
  114. ;-----> Slider for Times to play
  115.  
  116. xHSLIDER 60 86 200 11 Times times 1 999  100 "%3ld"
  117. GadID 11
  118.  
  119.  
  120. ;=========================== Play the mess!
  121. ; Here we use some tricks to feed the files to ppshow 20 at a time, so
  122. ; we don't load and reload ppshow for every file. We use xOnReturn to 
  123. ; re-launch ppshow when it's done showing each batch of files
  124.  
  125.  
  126. xbutton 15 110 80 15 PLAY
  127. id  = $$LV.ID ; get the listview's id
  128. dir = $$LV.DIR
  129. lvuse dir.gc $id
  130. lvmulti first ; get first file
  131. if $lv_file = ""
  132.    ezreq "How's about choosing\nsome files first ?" 'Oh yeah..' ""
  133.    stop
  134. endif
  135. if $$LV.TYPE != FILE
  136.    ezreq "Please choose files\nnot directories." OK ""
  137.    stop
  138. endif
  139. cd $dir ; cd to the current directory
  140. abort = 0 ; a flag to tell us to stop
  141.  
  142. ; ok.. now collect the first 20 files
  143. num   = 0 ; start a counter
  144. files = ""
  145. while $num < 20
  146.       extract lv_file ext ext
  147.       cutvar ext copy char 5 rext
  148.       if $rext != ".info"
  149.          extract lv_file file file 
  150.          appvar files ' $file'
  151.          counter num inc 1
  152.       endif
  153.       lvmulti next
  154.       if $lv_file = "" ; no more files
  155.          num = 20
  156.          abort = 1
  157.       endif
  158. endwhile
  159. gosub dir.ppshow makecom
  160. launch 1 'ppshow >nil: $files $com'
  161.  
  162. xOnReturn 1
  163. if $abort = 1 ; check Stop flag
  164.    stop
  165. endif
  166. num   = 0 ; re-start counter
  167. files = ""
  168. lvmulti next
  169. if $lv_file = ""
  170.    stop
  171. endif
  172. while $num < 20
  173.       extract lv_file ext ext
  174.       cutvar ext copy char 5 rext
  175.       if $rext != ".info"
  176.          extract lv_file file file 
  177.          appvar files ' $file'
  178.          counter num inc 1
  179.       endif
  180.       lvmulti next
  181.       if $lv_file = ""; no more files
  182.          num = 20
  183.          abort = 1
  184.          ext = ""
  185.       endif
  186. endwhile
  187. gosub dir.ppshow makecom
  188. launch 1 'ppshow >nil: $files $com'
  189.  
  190.  
  191. ; ---------- Abort after returning from current ppshow launch (set flag)
  192.  
  193. xbutton 255 110 70 15 Stop
  194. abort = 1
  195.  
  196.  
  197. ; ----------- Routine to construct the rest of the command line
  198.  
  199. xRoutine makecom
  200. com = $mode ; screen mode
  201. if $res > ""
  202.    appvar com ' $res' ; screen resolution
  203. endif
  204. if $play > ""
  205.    appvar com ' $play' ; play single/loop etc for anims
  206. endif
  207. appvar com ' $lace' ; interlace or not
  208. if $flick > ""
  209.    appvar com ' $flick' ; ficker fix
  210. endif
  211. if $datt > ""
  212.    appvar com ' $datt' ; use datatypes
  213. endif
  214. if $mouse > ""
  215.    appvar com ' $mouse' ; show mouse ?
  216. endif
  217. appvar com ' $oscn' ; max or no overscan ?
  218. if $cycle > ""
  219.    appvar com ' $cycle' ; cycle
  220. endif
  221. appvar com ' TIME=$time' ; time to play pics
  222. if $noan = "" ; i.e. display animations
  223.    if $jifs > 0 ; 0 = use default
  224.       appvar com ' J=$jifs'
  225.    endif
  226.    appvar com ' T=$times'; times to play anim
  227. endif
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.